.TH std::unique_ptr::get 3 "2024.06.10" "http://cppreference.com" "C++ Standard Libary"
.SH NAME
std::unique_ptr::get \- std::unique_ptr::get

.SH Synopsis
   pointer get() const noexcept;  \fI(since C++11)\fP
                                  (constexpr since C++23)

   Returns a pointer to the managed object or nullptr if no object is owned.

.SH Parameters

   \fI(none)\fP

.SH Return value

   Pointer to the managed object or nullptr if no object is owned.

.SH Example


// Run this code

 #include <iomanip>
 #include <iostream>
 #include <memory>
 #include <string>
 #include <utility>

 class Res
 {
     std::string s;

 public:
     Res(std::string arg) : s{std::move(arg)}
     {
         std::cout << "Res::Res(" << std::quoted(s) << ");\\n";
     }

     ~Res()
     {
         std::cout << "Res::~Res();\\n";
     }

 private:
     friend std::ostream& operator<<(std::ostream& os, Res const& r)
     {
         return os << "Res { s = " << std::quoted(r.s) << "; }";
     }
 };

 int main()
 {
     std::unique_ptr<Res> up(new Res{"Hello, world!"});
     Res* res = up.get();
     std::cout << *res << '\\n';
 }

.SH Output:

 Res::Res("Hello, world!");
 Res { s = "Hello, world!"; }
 Res::~Res();

.SH See also

   release returns a pointer to the managed object and releases the ownership
           \fI(public member function)\fP
